<template>
    <el-input :maxlength="11"
              :value="value"
              v-bind="config.props"
              v-on="$listeners"/>
</template>

<script>
    export default {
        inject: ['dForm', 'utils'],
        props: {
            value: '',
            config: Object,
        },
        mounted() {
            const regex = this.dForm.sys.regex

            // 注意如果外部没有设置required，那么只有在表单提交时才会验证，即trigger无效
            this.utils('setRule', {
                trigger: 'blur',
                validator(rule, value, cb) {
                    if (regex.phone.test(value)) return cb()
                    cb(new Error('请输入正确的手机号码'))
                },
            })
        }
    }
</script>

<style lang="scss" scoped>

</style>
